home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / tangosources.lha / gamemacros < prev    next >
Encoding:
Text File  |  2008-06-03  |  5.8 KB  |  359 lines

  1.  
  2.  
  3. blitwait    macro    
  4. bw\@:        btst    #$0e,$dff002
  5.             bne.s    bw\@
  6.             endm
  7.  
  8. Cwait        MACRO
  9.             DC.B    \1,\2+9,$FF,$FE    
  10.             ENDM
  11. Cskip:        MACRO
  12.             DC.B    \1,\2+9,$FF,$FF    
  13.             ENDM
  14. Cmove        MACRO
  15.             DC.W    \1,\2            
  16.             ENDM
  17.     
  18.  
  19. *********************************************************************************************
  20. ;Co-processor Macros
  21.  
  22. end_copper    Macro
  23.             dc.w $ffff,$fffe
  24.             Endm
  25.  
  26. set_pal        Macro
  27.             dc.w $ffdf,$fffe
  28.             Endm
  29.  
  30.  
  31. *********************************************************************************************
  32.             
  33. save_all    Macro
  34.             movem.l    a0-a6/d0-d7,-(sp)
  35.             Endm
  36.             
  37. return_all    Macro
  38.             movem.l    (sp)+,d0-d7/a0-a6
  39.             Endm
  40.  
  41.  
  42. ******************************************************************************************
  43.  
  44. KillSys    macro
  45.     MOVE.L    $4,A6
  46.     move.l    (A6),a6
  47.     move.l    (A6),a6
  48.     move.l    38(a6),oldcop
  49.     MOVE.W    $DFF01C,IntEnSave
  50.     MOVE.W    $DFF01E,IntRqSave
  51.     MOVE.W    $DFF002,DMASave
  52.     MOVE.W    $DFF010,ADKSave
  53.     MOVE.W    #%0111111111111111,$DFF096    
  54.     MOVE.W    #%0111111111111111,$DFF09A
  55.     CLR.W    $DFF088
  56.     MOVE.W    #%1000011111000000,$DFF096
  57.     bra        otasasas
  58.  
  59. oldcop        dc.l    0
  60. InitialSP    DC.L    0
  61. IntEnSave    DC.W    0    
  62. IntRqSave    DC.W    0
  63. DMASave        DC.W    0
  64. ADKSave        DC.W    0
  65. otasasas    
  66.     endm
  67.  
  68.  
  69. ResSys    Macro
  70.     MOVE.W    IntEnSave,D7
  71.     BSET    #$F,D7
  72.     MOVE.W    D7,$DFF09A
  73.     MOVE.W    IntRqSave,D7
  74.     BSET    #$F,D7
  75.     MOVE.W    D7,$DFF09C
  76.     MOVE.W    DMASave,D7
  77.     BSET    #$F,D7
  78.     MOVE.W    D7,$DFF096
  79.     MOVE.W    ADKSave,D7
  80.     BSET    #$F,D7
  81.     MOVE.W    D7,$DFF09E
  82.     move.l    oldcop,$dff080
  83.     endm
  84.     
  85.  
  86. ; 68000 status register bits.
  87.  
  88. ; Custom chip registers.
  89.  
  90. custom:  equ $dff000
  91. bltddat: equ $000
  92. dmaconr: equ $002
  93. vposr:   equ $004
  94. vhposr:  equ $006
  95. dskdatr: equ $009
  96. joy0dat: equ $00a
  97. joy1dat: equ $00c
  98. clxdat:  equ $00e
  99. adkconr: equ $010
  100. pot0dat: equ $012
  101. pot1dat: equ $014
  102. potgor:  equ $016
  103. serdatr: equ $018
  104. dskbytr: equ $01a
  105. intenar: equ $01c
  106. intreqr: equ $01e
  107. dskpth:  equ $020
  108. dskptl:  equ $022
  109. dsklen:  equ $024
  110. dskdat:  equ $026
  111. refptr:  equ $028
  112. vposw:   equ $02a
  113. vhposw:  equ $02c
  114. copcon:  equ $02e
  115. serdat:  equ $030
  116. serper:  equ $032
  117. potgo:   equ $034
  118. joytest: equ $036
  119. strequ:  equ $038
  120. strvbl:  equ $03a
  121. strhor:  equ $03c
  122. strlong: equ $03e
  123. bltcon0: equ $040
  124. bltcon1: equ $042
  125. bltafwm: equ $044
  126. bltalwm: equ $046
  127. bltcpth: equ $048
  128. bltcptl: equ $04a
  129. bltbpth: equ $04c
  130. bltbptl: equ $04e
  131. bltapth: equ $050
  132. bltaptl: equ $052
  133. bltdpth: equ $054
  134. bltdptl: equ $056
  135. bltsize: equ $058
  136. bltcmod: equ $060
  137. bltbmod: equ $062
  138. bltamod: equ $064
  139. bltdmod: equ $066
  140. bltcdat: equ $070
  141. bltbdat: equ $072
  142. bltadat: equ $074
  143. dsksync: equ $07e
  144. cop1lch: equ $080
  145. cop1lcl: equ $082
  146. cop2lch: equ $084
  147. cop2lcl: equ $086
  148. copjmp1: equ $088
  149. copjmp2: equ $08a
  150. copins:  equ $08c
  151. diwstrt: equ $08e
  152. diwstop: equ $090
  153. ddfstrt: equ $092
  154. ddfstop: equ $094
  155. dmacon:  equ $096
  156. clxcon:  equ $098
  157. intena:  equ $09a
  158. intreq:  equ $09c
  159. adkcon:  equ $09e
  160. aud0lch: equ $0a0
  161. aud0lcl: equ $0a2
  162. aud0len: equ $0a4
  163. aud0per: equ $0a6
  164. aud0vol: equ $0a8
  165. aud0dat: equ $0aa
  166. aud1lch: equ $0b0
  167. audilcl: equ $0b2
  168. aud1len: equ $0b4
  169. aud1per: equ $0b6
  170. aud1vol: equ $0b8
  171. aud1dat: equ $0ba
  172. aud2lch: equ $0c0
  173. aud2lcl: equ $0c2
  174. aud2len: equ $0c4
  175. aud2per: equ $0c6
  176. aud2vol: equ $0c8
  177. aud2dat: equ $0ca
  178. aud3lch: equ $0d0
  179. aud3lcl: equ $0d2
  180. aud3len: equ $0d4
  181. aud3per: equ $0d6
  182. aud3vol: equ $0d8
  183. aud3dat: equ $0da
  184. bpl1pth: equ $0e0
  185. bpl1ptl: equ $0e2
  186. bpl2pth: equ $0e4
  187. bpl2ptl: equ $0e6
  188. bpl3pth: equ $0e8
  189. bpl3ptl: equ $0ea
  190. bpl4pth: equ $0ec
  191. bpl4ptl: equ $0ee
  192. bpl5pth: equ $0f0
  193. bpl5ptl: equ $0f2
  194. bpl6pth: equ $0f4
  195. bpl6ptl: equ $0f6
  196. bplcon0: equ $100
  197. bplcon1: equ $102
  198. bplcon2: equ $104
  199. bpl1mod: equ $108
  200. bpl2mod: equ $10a
  201. bpl1dat: equ $110
  202. bpl2dat: equ $112
  203. bpl3dat: equ $114
  204. bpl4dat: equ $116
  205. bpl5dat: equ $118
  206. bpl6dat: equ $11a
  207. spr0pth: equ $120
  208. spr0ptl: equ $122
  209. spr1pth: equ $124
  210. spr1ptl: equ $126
  211. spr2pth: equ $128
  212. spr2ptl: equ $12a
  213. spr3pth: equ $12c
  214. spr3ptl: equ $12e
  215. spr4pth: equ $130
  216. spr4ptl: equ $132
  217. spr5pth: equ $134
  218. spr5ptl: equ $136
  219. spr6pth: equ $138
  220. spr6ptl: equ $13a
  221. spr7pth: equ $13c
  222. spr7ptl: equ $13e
  223. spr0pos: equ $140
  224. spr0ctl: equ $142
  225. spr0data:equ $144
  226. spr0datb:equ $146
  227. spr1pos: equ $148
  228. spr1ctl: equ $14a
  229. spr1data:equ $14c
  230. spr1datb:equ $14e
  231. spr2pos: equ $150
  232. spr2ctl: equ $152
  233. spr2data:equ $154
  234. spr2datb:equ $156
  235. spr3pos: equ $158
  236. spr3ctl: equ $15a
  237. spr3data:equ $15c
  238. spr3datb:equ $15e
  239. spr4pos: equ $160
  240. spr4ctl: equ $162
  241. spr4data:equ $164
  242. spr4datb:equ $166
  243. spr5pos: equ $168
  244. spr5ctl: equ $16a
  245. spr5data:equ $16c
  246. spr5datb:equ $16e
  247. spr6pos: equ $170
  248. spr6ctl: equ $172
  249. spr6data:equ $174
  250. spr6datb:equ $176
  251. spr7pos: equ $178
  252. spr7ctl: equ $17a
  253. spr7data:equ $17c
  254. spr7datb:equ $17e
  255. color00: equ $180
  256. color01: equ $182
  257. color02: equ $184
  258. color03: equ $186
  259. color04: equ $188
  260. color05: equ $18a
  261. color06: equ $18c
  262. color07: equ $18e
  263. color08: equ $190
  264. color09: equ $192
  265. color10: equ $194
  266. color11: equ $196
  267. color12: equ $198
  268. color13: equ $19a
  269. color14: equ $19c
  270. color15: equ $19e
  271. color16: equ $1a0
  272. color17: equ $1a2
  273. color18: equ $1a4
  274. color19: equ $1a6
  275. color20: equ $1a8
  276. color21: equ $1aa
  277. color22: equ $1ac
  278. color23: equ $1ae
  279. color24: equ $1b0
  280. color25: equ $1b2
  281. color26: equ $1b4
  282. color27: equ $1b6
  283. color28: equ $1b8
  284. color29: equ $1ba
  285. color30: equ $1bc
  286. color31: equ $1be
  287.  
  288.  
  289.  
  290. tbe:    equ 0
  291. dskblk: equ 1
  292. soft:   equ 2
  293. ports:  equ 3
  294. coper:  equ 4
  295. vertb:  equ 5
  296. blit:   equ 6
  297. aud0:   equ 7
  298. aud1:   equ 8
  299. aud2:   equ 9
  300. aud3:   equ 10
  301. rbf:    equ 11
  302. dsksyn: equ 12
  303. exter:  equ 13
  304. inten:  equ 14
  305.  
  306. ; 8250 CIA's port definitions.
  307.  
  308. ciaa:   equ $bfe001
  309. ciab:   equ $bfd000
  310. pra:    equ $000
  311. prb:    equ $100
  312. ddra:   equ $200
  313. ddrb:   equ $300
  314. talo:   equ $400
  315. tahi:   equ $500
  316. tblo:   equ $600
  317. tbhi:   equ $700
  318. event:  equ $800
  319. sdr:    equ $c00
  320. icr:    equ $d00
  321. cra:    equ $e00
  322. crb:    equ $f00
  323.  
  324. ; CIA A port #A usage.
  325.  
  326. ovl:    equ 0
  327. led:    equ 1
  328. chng:   equ 2
  329. wrpo:   equ 3
  330. tk0:    equ 4
  331. rdy:    equ 5
  332. fir0:   equ 6
  333. fir1:   equ 7
  334.  
  335. ; CIA B port A usage.
  336.  
  337. busy:   equ 0
  338. pout:   equ 1
  339. sel:    equ 2
  340. dsr:    equ 3
  341. cts:    equ 4
  342. cd:     equ 5
  343. rts:    equ 6
  344. dtr:    equ 7
  345.  
  346. ; CIA B port B usage.
  347.  
  348. step:   equ 0
  349. dir:    equ 1
  350. side:   equ 2
  351. sel0:   equ 3
  352. sel1:   equ 4
  353. sel2:   equ 5
  354. sel3:   equ 6
  355. mtr:    equ 7
  356.  
  357. skeys=$bfec01
  358.     
  359.